package com.sca.bussiness.service;

import com.sca.bussiness.entity.AbstractScheduleJob;

import java.time.LocalDateTime;

/**
 * @author liuxianfei
 * @since 2020/11/20 11:59
 */
public interface ScheduleService {

    /**
     * 延迟多少秒后执行
     *
     * @param delaySeconds 延迟时间（秒）
     * @param job          时间到达时执行的具体做业任务
     */
    void addTimer(Long delaySeconds, AbstractScheduleJob job);

    /**
     * 在一个准确的时间点执行
     *
     * @param dateTime 任务执行时间点
     * @param job      时间到达时执行的具体做业任务
     */
    void addTimer(LocalDateTime dateTime, AbstractScheduleJob job);

}
